* "Python es ya el lenguaje de introducción más popular en las universidades norteamericanas" http://www.genbetadev.com/formacion/python-es-ya-el-lenguaje-de-introduccion-mas-popular-en-las-universidades-norteamericanas
In [1]:
print("Hello, world!")
In [2]:
def fib(N):
a, b = 0, 1
for ii in range(N):
a, b = b, a + b
return b
for ii in range(8):
print(fib(ii))
Motivación:
"Make [Python] equivalent to a basic scientific calculator."
In [3]:
import numpy as np
In [4]:
np.array([
[1, 2, 3],
[4, 5, 6]
])
Out[4]:
In [5]:
np.linspace(0, 10, 5)
Out[5]:
In [6]:
_.mean()
Out[6]:
Solución: pandas
In [7]:
import pandas as pd
In [8]:
pd.Series([1, 3, 5, np.nan, 6, 8])
Out[8]:
In [9]:
dates = pd.date_range('20140701', periods=6)
dates
Out[9]:
In [10]:
datos = pd.DataFrame(np.random.randn(6,4), index=dates,
columns=list('ABCD'))
datos
Out[10]:
In [11]:
datos.describe()
Out[11]:
In [12]:
import matplotlib.pyplot as plt
%matplotlib inline
In [13]:
datos["A"].plot()
Out[13]:
In [14]:
datos["A"].plot()
plt.xlabel("Fecha")
plt.ylabel("Columna A")
plt.legend(["Datos"])
plt.title("Gráfica 1")
Out[14]:
¡Y mucho más!
La joya de la corona: el notebook
¿Por qué usar solo Python?
In [16]:
X = np.array([0,1,2,3,4])
Y = np.array([3,5,4,6,7])
In [17]:
%load_ext rpy2.ipython
In [18]:
%Rpush X Y
%R lm(Y~X)$coef
Out[18]:
In [19]:
b = %R a=resid(lm(Y~X))
%Rpull a
print(a)
%R -o a
In [20]:
%%R -i X,Y -o XYcoef
XYlm = lm(Y~X)
XYcoef = coef(XYlm)
print(summary(XYlm))
par(mfrow=c(2,2))
plot(XYlm)
Puedo usar esta técnica con multitud de lenguajes:
¡y más! https://github.com/ipython/ipython/wiki/Extensions-Index
P: ¿Por qué lo llaman IPython si puede iteractuar con multitud de lenguajes diferentes?
**Muchas gracias :)**